1. Field of the Invention
The present invention relates generally to communications networks. More particularly, the present invention relates to a method and apparatus for intelligent delivery and storage of various information service messages to a subscriber including short message service (SMS) messages, particularly in a wireless communications network.
2. Background of Related Art
We are now in what is called the information age. More than ever, the exchange of information, and the ability to do the same, has become an important technical necessity of modern society. With the introduction and now wide usage of the Internet, and the advances in telecommunications, a variety of means for exchanging information have proliferated to bring a great number of people together through the exchange of information.
One way in which information is exchanged is through short messages. A short message is typically a textual such as paging message, e-mail or a voice mail message passed to and/or from various types of communication devices, e.g., cellular telephone handsets, telephones or computers with appropriate modems. A variety of services have been introduced using SMS networks including, for example, integrated electronic mail and fax, integrated paging, interactive banking, and information services such as stock quotes, and airline schedule delivery.
FIG. 8 shows a general example of one such short message exchange network. In particular, in FIG. 8, a voice or text message is communicated between a first communication device (i.e., sender 806) and a second communication device (i.e., recipient 804). The sender 806 accesses a wide area network (WAN) such as the Internet or the Public Telephone Switching Network (PTSN). The short message from the sender 806 via gateway 805 is delivered to the recipient 804 via, e.g., a gateway 802 and a local area network (LAN) and/or wireless network 803.
Although the recipient 804 is shown as being a mobile phone handset, the recipient 804 may comprise, e.g., a computer device connected either through the LAN 803 or via a direct modem connection to the WAN (e.g., PTSN or the Internet) 801.
An example of a wireless short message exchange network is described in co-pending and co-owned U.S. patent application, Ser. No. 09/322,929, filed Jun. 1, 1999 by the same inventors as herein entitled: “SHORT MESSAGE SERVICE NOTIFICATION IN MULTIPLE SERVICE CENTER SHORT MESSAGE SERVICE NETWORK”, claiming priority from U.S. provisional application No. 60/105,774, filed Oct. 27, 1998, entitled: “PENDING MESSAGE NOTIFICATION SCHEME IN WIRELESS SYSTEM”, both of which are explicitly incorporated herein by reference.
A well known example of a system which delivers short messages is an electronic mail system, commonly referred to as e-mail. E-mail enables a sender to exchange information with a recipient from their respective communication devices, e.g., typically two remotely located computer devices.
An SMS network typically includes one or more short message service center(s) (SMSC) which each provide a store-and-forward mechanism to provide guaranteed delivery of a short message to an intended subscriber. Using the store-and-forward mechanism, delivery of transmitted short messages is guaranteed to the supported subscribers whether or not the intended recipient is “on-line” or active because the transmitted short message is stored within the one SMSC assigned to service the particular recipient subscriber, and later delivered to the intended subscriber recipient from their assigned SMSC once the subscriber recipient again becomes available.
Thus, if a subscriber recipient is inactive when a short message is originally transmitted to them, the short message will be stored at the relevant SMSC servicing the particular subscriber and forwarded once the subscriber again becomes active.
Integrated e-mail and fax, integrated paging, and/or interactive banking, and/or audible information services are all typical services provided by typical SMS network service providers. For example, with integrated e-mail, e-mail messages may be sent to and received from a mobile handset 804 via the Internet, PTSN, and/or a wireless network, as appropriate.
Example audible information services typically available include weather reports, traffic information, entertainment (e.g., movie and concert) information, and/or financial information such as stock quotes, exchange rates, banking and brokerage services, etc. These audible information services are typically delivered using a short message service using, e.g., a voice message and/or e-mail message to the subscriber.
Many of the audible information services provide information which is periodically updated. For example, weather reports, stock quotes, traffic information, etc. may be updated by the sender sending a revised voice message and/or e-mail message to the subscriber, e.g., every hour, three times a day, etc. Because of the periodic updates, certain short messages (i.e., the old ones) might be thought to have a “shelf life” after which they become unreliable. Unfortunately, a recipient receives all short messages addressed to them, and in fact is guaranteed delivery of all messages—including the outdated ones, because of the conventional store-and-forward techniques. Thus, for example, after an extended absence, many superceded stale messages must be sifted through by the recipient before the most current message is retrieved and confirmed.
Oftentimes, the source of a particular short message is not known until the content is reviewed by the recipient, which is typically wasteful of time, particularly after an extended period of absence by the recipient.
For example, a subscriber who subscribes to a stock quote service may periodically receive updated short messages (e.g., e-mail) every, e.g., 15 minutes, 30 minutes, hour, 3 times a day, etc. This is exacerbated by a user who subscribes to more than one information services. Thus, during an extended absence in particular, the subscriber may receive numerous short messages from each of the information services most of which may be out of date by the time they are retrieved by the user.
FIG. 9 shows an exemplary “in-box” of a typical e-mail application program in which e-mail messages received by the subscriber are listed in a desired order, e.g., in the order of receipt, in alphabetical order according to the sender, or in alphabetical order according to the subject, etc.
In particular, several short messages 1010, 1020, 1010A, 1030, 1010B, 1010C, 1030A and 1010D are shown in FIG. 9 in chronological order. Typically, a subscriber is interested only in the latest information message from any particular occasionally revised information service, e.g., 1020, 1010D and 1030A, but is nevertheless required to “scroll through” and/or delete earlier messages from the same sender to get to the latest message from that sender. This inconvenience is particularly acute with respect to voice messages, which are typically more difficult to “scroll” through. Moreover, the inconvenience may be exacerbated if the subscriber has not retrieved their short messages for a long period of time, e.g., because their mobile telephone has been inactive or off for a long period of time.
Short messages may be stored at a server location or at a mobile subscriber 804 of a SMS network, e.g., as described in the referenced co-pending application. The short messages are stored in a memory, often referred as a queue, either in the SMSC which services the subscriber or, after delivery, in the subscriber's receiving communication device, e.g., their mobile handset.
An exemplary conventional queue is shown in FIG. 10A.
In particular, a first in, first out (FIFO) queue 901 includes N+1 memory blocks, each of which can store all or a portion of a short message. The short messages may initially be stored starting from memory block, 0, with later received message being stored in a later memory block in the FIFO queue 901. Thus, the FIFO queue 901 in this example may be said to grow from memory block 0 in the direction of the memory block N.
The current message pointer 903 holds the location of the short message currently being accessed. A subscriber can typically “scroll” through their short messages in their queue 901 in either direction. For example, when the subscriber indicates that they desire to view the next short message by, e.g., pressing an appropriate key, the short message stored in the memory block i+1 will be accessed, and the value of the current message pointer 903 will change in the proper direction, e.g., from i to i+1. On the other hand, if the subscriber accesses a previous short message, memory block i−1 will be accessed, and the value of the current message pointer 903 will change, e.g., from i to i−1.
As another example, if a subscriber wants to access the short message stored in memory block 0, and if the current message being displayed is the Nth short message (i.e., value of the pointer 903 is N) currently in their queue 901, the subscriber must typically scroll through or otherwise access as many as N short messages by, e.g., pressing an appropriate scroll button N times.
A circularly arranged queue 902 as shown in FIG. 10B provides an improvement over the FIFO queue 901 by providing a wrap-around feature. The circular queue 902 requires a maximum of N/2 scrolls to reach any particular short message from any particular starting point within the circular queue 902, as opposed to the FIFO queue 901 as shown in FIG. 10A which requires a maximum of N scrolls to reach an extreme short messages. Thus, for example, if the current value of a pointer 904 is N, and the subscriber wants to access the short message at memory block 0, then the subscriber need only scroll one time, i.e., only a single press of an appropriate button due to the wrap around scroll capability.
FIG. 11 illustrates a typical short message receipt process performed either by an SMSC or by a subscriber's receiver device.
In particular, as shown in step 1101 of FIG. 11, each newly received short message is appended to a short message queue associated with the receiving subscriber and with that type service, in the next available memory block, typically at the end of the queue as shown in step 1103.
A conventional SMSC may keep a message count corresponding to the number of short messages held by the SMSC for the relevant type short messages for later delivery to a particular subscriber, and increment the same every time a new short message of the relevant type is stored and added to the queue as shown in step 1102. For instance, a typical mobile handset of a receiving subscriber may similarly keep a message count corresponding to the number of short messages received by the handset, and similarly increment the count for that type short message every time a new short message is received.
The subscriber may typically delete any particular short message in the queue, typically by scrolling through the message queue to locate the particular short message to be deleted. Once a short message is deleted, the short messages in the queue are “shifted up” to fill the void created by the deletion, and the message count is decremented to update the new number of stored short messages.
In conventional SMSC networks thus far described, each newly received short message of relevant type is automatically appended to a queue for that type service, usually at the end of the relevant message queue.
Some short message service systems allow limited ability to prioritize a particular short message into a priority queue, which operates similarly for all messages with equal priority. Unfortunately, the conventional method of storage of short messages at the receiving subscriber's communication device (and/or at the SMSC before delivery) is disadvantageous in that the subscriber may be required to “scroll through” previous stale or obsolete messages from the same source (e.g., through several old weather reports or several old stock quotes) before accessing the most up-to-date short message from the relevant source.
Conventional SMSCs (or e-mail servers) do not take into account the above described potential multiplicity of short messages from particular information service provider, and thus deliver all short messages, including stale and/or obsolete short messages, when the subscriber again becomes available. Unfortunately, delivery of stale and/or obsolete short messages unnecessarily wastes bandwidth, and is quite inconvenient to the subscriber. Moreover, storage of stale and/or obsolete short messages tend to clutter and waste memory capacity of the relevant SMSCs, e-mail servers, subscriber computers, and/or subscriber computer and/or handsets.
Furthermore, conventional short message delivery and storage methods make it impractical to provide an efficient on-demand update of a particular short message. For instance, a subscriber may send a request to a particular service provider to provide a short message containing the latest update information, e.g., the latest quote of a particular stock. However, when delivered, the latest update short message is typically appended at the end of a potentially large queue including preceding short messages, requiring the subscriber to scroll through the earlier received short messages before access to the requested short message from that sender.
There is thus a need for an architecture and method for delivery and storage of messages in a short message exchange network which provides efficient use of memory in which the messages are stored, which does not require the subscriber to manually select and/or delete obsolete and/or stale messages, and/or which does not require unnecessary delivery by a servicing SMSC of obsolete and/or stale messages.